/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.aaron.platform.service;

import com.aaron.platform.dao.PageInfo;
import com.aaron.platform.entity.GczxPaymentInfo;
import java.util.Properties;

/**
 * interface of order
 * @author chenzhuohua
 */
public interface IPaymentMgr {

    /**
     * 通过ID找付款信息
     * @param orderId 订单ID
     * @return 发票信息
     */
    public GczxPaymentInfo findById(Integer orderId);

    /**
     * 通过发票编号查找付款信息
     * @param oderCode 订单编号
     * @return 订单信息
     */
    public GczxPaymentInfo findByInvNo(String invoiceNo);

    /**
     * 条件查询
     * @param condition
     * @param pageInfo
     * @return
     */
    public PageInfo findByCondition(Properties condition, int startIndex, int pageSize);
    
    /**
     * 添加付款信息
     * @param gczxOrderInfo 订单信息
     */
    public void addPayInfo(GczxPaymentInfo gczxPaymentInfo);

    /**
     * 修改付款信息
     * @param gczxOrderInfo 订单信息
     */
    public void updatePayInfo(GczxPaymentInfo gczxPaymentInfo);

    /**
     * 添加或更新付款信息
     * @param gczxPaymentInfo
     */
    public void addOrUpdatePayInfo(GczxPaymentInfo gczxPaymentInfo);

    /**
     * 删除付款信息
     * @param payId 订单ID
     */
    public void removePayInfo(Integer payId);

    /**
     * 删除付款信息
     * @param payId 订单信息
     */
    public void removePayInfo(GczxPaymentInfo gczxPaymentInfo);
}
